module.exports = {
  publicPath: "./",
  productionSourceMap: false,
  devServer: {
    // 服务启动后是否自动打开浏览器
    open: true,
    overlay: {
      warnings: false,
      errors: true,
    },
    // 域名
    host: "192.168.0.58",
    // host: "192.168.1.13",
    // host: "localhost",
    // 端口
    port: 8080,
    proxy: {
      "/mall": {
        //配置跨域-将所有 mall 的请求拦截，代理到target上
        target: process.env.VUE_APP_API_URL,
        changeOrigin: true, // 是否跨域
        ws: true,
        pathRewrite: {
          //---->>>并将 mall 换成 ''
          "^/mall": "",
        },
      },
    },
  },
  configureWebpack: (config) => {
    if (process.env.NODE_ENV === "production") {
      // 为生产环境修改配置...
    } else {
      // 为开发环境修改配置...
    }
    config.externals = {
      // 不会被打包的库
      vue: "Vue",
      "vue-router": "VueRouter",
      axios: "axios",
      "element-ui": "ELEMENT",
    };
  },
  chainWebpack: (config) => {
    // 发布模式
    config.when(process.env.NODE_ENV === "production", (config) => {
      config
        .entry("app")
        .clear()
        .add("./src/main-prod.js");

      config.plugin("html").tap((args) => {
        args[0].isProd = true;
        return args;
      });
    });

    // 开发模式
    config.when(process.env.NODE_ENV === "development", (config) => {
      config
        .entry("app")
        .clear()
        .add("./src/main-dev.js");

      config.plugin("html").tap((args) => {
        args[0].isProd = false;
        return args;
      });
    });
  },
};
